package com.cskaoyan.day5.deque._03_constructor;

import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.List;

/**
 * @author Common-zhou
 * @since 2023-03-03 11:27
 */
public class Demo1 {
    public static void main(String[] args) {
        //ArrayDeque()
        //构造一个初始容量能够容纳 16 个元素的空数组双端队列。
        //ArrayDeque(Collection<? extends E> c)
        //构造一个包含指定 collection 的元素的双端队列，这些元素按 collection 的迭代器返回的顺序排列。
        //ArrayDeque(int numElements)
        //构造一个初始容量能够容纳指定数量的元素的空数组双端队列。

        test1();

        test2();

        test3();
    }

    private static void test3() {
        //ArrayDeque(int numElements)
        //构造一个初始容量能够容纳指定数量的元素的空数组双端队列。
        // 传了一个值进去。   其实就是需要找 2的幂次方   10---》 16
        Deque<String> deque = new ArrayDeque<>(10);
        deque.add("zs");

    }

    private static void test2() {

        List<String> list = new ArrayList<>();
        list.add("zs");
        list.add("ls");
        list.add("wu");

        Deque<String> deque = new ArrayDeque<>(list);

        System.out.println(deque);
    }

    private static void test1() {
        Deque<String> deque = new ArrayDeque<>();

        deque.offerFirst("zs");
        deque.offerFirst("ls");

        System.out.println(deque);

    }
}
